Testing Semantic Clone Detection Candidates
نویسنده
چکیده
In this study, a comparative analysis of automated semantic clone detection techniques is performed. Semantic clones are pieces of code that fulfill the same requirement and could therefore be considered as functionally redundant. Reducing the number of semantic clones could lead to cost reduction and higher maintainability. Semantic clones were detected manually in three open source projects, and results were verified by a number of independent observers. Secondly, automated techniques were performed on the same code samples. Test characteristics like precision and recall were calculated based on comparison of automated test outcomes to manual results. Results show that in our set of test cases, matching tokens exactly is the only significant predictor for semantic clones. Including dictionary matches of words which were not directly matched did not improve performance of this test.
منابع مشابه
Clone Detection by Comparing Abstract Memory States
In this paper, we propose a new semantic clone detection technique by comparing programs’ abstract memory states, which are computed by a semantic-based static analyzer. Our experimental study using three large-scale open source projects shows that our technique can detect semantic clones that existing syntacticor semantic-based clone detectors miss. Our technique can help developers identify i...
متن کاملA New Method for Sperm Detection in Infertility Cure: Hypothesis Testing Based on Fuzzy Entropy Decision
In this paper, a new method is introduced for sperm detection in microscopic images for infertility treatment. In this method, firstly a hypothesis testing function is defined to separate sperms from plasma, non-sperm semen particles and noise. Then, some primary candidates are selected for sperms by watershed-based segmentation algorithm. Finally, candidates are either confirmed or rejected us...
متن کاملImplication of Clone Detection and Refactoring Techniques using Delayed Duplicate Detection Refactoring
Code maintenance has been increased when the similar code fragments is reduced in the software systems. Refactoring is a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior based on code, the refactoring mechanism is used to discover the clone detection. The proposed algorithm insists semantic relevance...
متن کاملDeriving Categories of Semantic Clones from a Coding Contest
This paper establishes subcategories of semantic code clones, based on code from a coding contest. We provide these clone subcategories as a basis of a benchmark for semantic code clone detection algorithms.
متن کاملJSCTracker: A Semantic Clone Detection Tool for Java Code
This paper presents a tool and algorithm for the detection of semantic clones in Java methods. For our purpose, semantic clones are defined as functionally identical code fragments. Thus, our detection process operates on the premise that if two code fragments are semantic clones, then their input-output behavior would be identical. We adopt a wholistic approach to the definition of input-outpu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010